Skip to main content

Full text of "Syntax Magazine"

See other formats


SYNTAX  ZX80' 

A  PUBLICATION  OF  THE  HARVARD  GROUP 

VOL.  2  NO.  11 _  ISSN  0273-2696  NOV.,  1981 


IN  THIS  ISSUE 


CAI  SHIPS  WIDGETS 


4K  Programs 

Sine  Calculation . 16 

Reverse . 17 

8K  Programs 

Super  Monzxer . 3 

Digital  Clock . 15 

Reverse . 17 

Beginners'  Column 
REM  Revisited . 18 

Book  Review 

ZX81  Companion . 14 

Classified  Ads . 19 

Dear  Editor . 12 

Dear  Sinclair . 15 

Hardware  Hints . 3 

Hardware  Review 
Sinclair  ZX81 . 13 

Machine  Language 
8K  ROM  Potpourri . 7 

News ,  New  Products ....1,2 

Program  Changes . 2 

Software  Review 
Zeta  Software . 8 

Index  of  Advertisers 

Insight . 14 

JRS  Software . 16 

Lamo-Lem  Labs . 18 

Sinclair  Research .. 10 , 11 

Zeta  Software . 13 

Subscription  Info . 19 


At  presstime,  CAI '  s  Bob  Swann  confirmed 
reader  reports- -  100 ' s  of  Widgets  shipped. 
Expect  printers  in  2  wks ,  tape  drives  in  4. 
Widgets  chew  up  the  top  4K  of  memory-- 2  for 
tape  and  2  for  printer.  But-- look  for  CAI  to 
sell  48K  add-on  memories. 

Widgets  now  cost  $79.95,  but  CAI  knocks 
$10  off  for  each  additional  peripheral  you' 
buy. .  Swann  says  the  21-IC  board  uses  EPROMS 
permitting  software  updating.  Their  tests 
show  Widgets  compatible  with  all  setups 
EXCEPT  MicroAce  Flicker-Free  boards . 

CAI  announced  new  policies  for  better 
service:  product  PHOTOS  in  future  ads  and  no 

orders  taken  for  undeliverable  devices. 

MULTIPURPOSE  MEMORY  EXPANSION 

SABRE  Systems  has  developed  a  multi¬ 
purpose  memory  expansion  board  to  use  in  a 
variety  of  RAM/EPROM  combinations.  The  board 
contains  decode  logic  plus  two  28-pin  sockets 
that  can  contain  the  new  2Kx8  CMOS  RAM  chips 
or  several  varieties  of  EPROM  (erasable 
programmable  read-only  memory)  ICs ,  such  as 
the  2716,  2732,  2764  or  2532.  Jumpers  on 
board  accomodate  multiple  device  types  and 
varied  IC  pinouts  on  a  single  plug-in  board. 

The  boards  come  with  either  2K  or  4K 
RAM.  They  draw  25  mA  and  are  easily  powered 
by  the  ZX80  power  supply. 

If  you  program  your  own  EPROMs,  you  can 
store  up  to  8K  of  utilities  and  assembly  lan¬ 
guage  programs  in  each  IC  slot  using  2764s. 

SABRE  also  offers  an  EPROM  programmer 
that  plugs  into  the  ZX80.  Wire-wrapped 
versions  will  be  offered  on  a  limited,  as- 
ordered  basis.  According  to  Fayne  Sisco  of 
SABRE,  a  BASIC  format  is  being  developed  to 
let  users  build  their  EPROM  data  on  tape. 

SABRE  will  program  EPROMs  from  tape  files. 

Contact  Fayne  Sisco,  SABRE  Systems  1719 
Autrey,  Deer  Park,  TX,  77536. 


ANNIVERSARY  ISSUE 


SYNTAX  ERRORS:  INSIGHT's  telephone 
number  in  their  classified  ad  (Oct. 
81  p.16)  should  read  616/684-7868. 
Jon  Passler  noticed  an  error  in  his 
8K  Roundoff  routine  (Oct. 81).  To 
use  three  decimal  places,  change  0 
to  00  (LEN  N$  TO) .  Error  is  in 
second  paragraph  of  text. 

CHANGES  TO  AMAZING  ACTIVE  DISPLAY 

John  Sampson  of  College  Point, 
NY,  called  in  response  to  the 
letter  in  the  Oct. 81  issue  about 
The  Amazing  Active  Display.  With 
these  changes  to  the  version  on  p. 
68  of  Making  the  Most  of  Your  ZX80 , 
which  correct  typos  and  convert  to 
American  TV,  the  program  runs  on  4K 
ROM  and  IK  RAM. 

In  line  30  defining  M$ ,  change 
the  61st  and  62nd  hex  digits  (DE) 
to  FE .  Change  the  75th  and  76th 
(38)  to  20.  Change  the  111th  and 
112th  (EC)  to  FC. 

INVERSE  BIG  CHARACTERS 

To  print  8x  size  characters  in 
reverse  video,  change  these  lines 
from  Big  Characters  (Dec. 80): 

140  PRINT  " 

160  PRINT  CHR$ (128) ; 

Print  4x  size  characters  in 
reverse  video  by  modifying  Son  of 
Big  Characters  (Feb. 81).  Enter  the 
original  decimal  listing: 

0  4  6  2  5  131  8  135  7... 
in  reverse  order: 

128  132  134  130  133  3  136... 

Paul  Ezra,  San  Diego,  CA 

R.B.  Turner  plans  to  interface 
his  4K/ 2K  MicroAce  to  the  MM57109 
programmable  calculator  chip  to 
provide  many  scientific  calcula¬ 
tions.  He's  also  v.7orking  on  an 
8255  peripheral  interface  adapter 
I/O  chip  for  programmable  input/ 
output  from  the  MicroAce  zo  3  I/O 
ports.  He  wants  offer  PC  board 
kits  to  SYNTAX  readers.  For  more 
details,  contact  Mr.  Turner  at  109 
Chesney  Ln ,  Columbia,  SC  24 209. 


SINCLAIR'S  PRINTER  SHOWN  IN  US 

Clive  Sinclair  of  Sinclair 
Research  demonstrated  his  ZX81 
printer  at  the  the  US  introduction 
of  the  ZX81  computer  in  Boston  on 
Oct. 7.  Although  in  production  in 
England,  the  printers  cannot  be 
imported  into  the  US  until  they  get 
FCC  approval.  Sinclair  expects 
approval  near  the  end  of  the  year. 

This  sample  hardcopy  output 
from  a  ZX81  on  a  Sinclair  printer 
shows  its  print  size  and  readabil¬ 
ity.  The  aluminized  paper  is  about 
4  inches  wide.  The  program  draws 
the  curve  printed  above  it  and 
takes  more  than  IK  RAM. 


■  m 

m  m 

9  » 

%  «F 

m  m 


\  / 


10  DIM  C(64) 

2@  FOR  U-X  TO  64- 

30  LET  C  (U>  =£24-20*  (SIH  1  CU-i* 
-32*PI)  5 

4-0  NEXT  U 
100  FOR  G  =  X  TO  64- 
110  PLOT  G-l,CfG) 

115  NEXT  G 

117  SOSUB  1000 

120  COPY 

125  GOSUB  1000 

130  LLIST 

135  FOR  H~1  TO  6 

14-0  L.PRINT 

145  NEXT  H 

1000  IF  INKEY  $ <>  THEN  RETURN 
1010  SOTO  1©@0 

This  version  runs  on  a  IK  ZX81: 

10  FOR  X=0  TO  64  STEP  8 
20  FOR  V=X  TO  63+X 
30  PLOT  V-64*INT  X/ 64 , 22+20* (S 
IN  V/ (32-PI)) 

40  NEXT  V 
50  NEXT  X 

To  make  a  longer  series  of  sine 
curves ,  add  15  CLS 


2 


HARDWARE  HINTS 


SUPER  MONZXER 


Herb  Sturges,  Orinda,  CA, 
called  in  these  hardware  tips: 

If  your  ZX80  overheats  easily, 
you  can  increase  the  capacity  of 
its  aluminum  heat  sink  to  dissipate 
heat  with  a  little  paint  and  a 
coping  saw.  Aluminum  painted  with 
flat  black  paint  has  20  times 
polished  aluminum's  ability  to 
release  heat.  Remove  the  heat 
sink,  paint  it  black,  and  let  it 
dry  before  reinstalling.  Then  use 
a  small  hand  coping  saw  to  cut 
through  the  black  lines  on  the  top 
of  the  case  so  all  that  heat  can 
escape.  **Caution--if  you  use  an 
electric  saw,  use  a  coarse- toothed 
blade,  because  the  case  will  melt 
under  the  friction  of  a  fine¬ 
toothed  blade.  Heat  sink  compound 
(silicon  and  zinc  oxide)  between 
the  regulator  and  the  heat  sink 
also  helps. 

To  minimize  the  danger  of  static 
electricity  zapping  your  ICs, 
ground  the  ZX80  edge  connector  with 
aluminum  foil.  Simply  fold  the 
foil  over  the  top  and  bottom  edges 
and  affix  with  cellophane  tape. 

To  improve  insulation  under  the 
regulator,  replace  the  cardboard 
with  fiberglass  of  the  same  size 
and  thickness. 

To  label  big  keyboards :  Remove  the 
ZX80  keyboard  map  (that  little 
sheet  under  the  front  rivets)  and 
have  it  photocopied  in  color.  Cut 
out  squares  and  paste  to  keys  with 
rubber  cement  or  epoxy. 

REDUCE  4K  LOADING  NOISE 

4K  ROM  users:  instead  of  building 
our  Cassette  Eavesdropper  (Dec. 80) 
to  reduce  loading  noise,  try  a  dual 
mini-plug  from  Radio  Shack  (part  # 
274-310).  It's  just  $1.59  and  does 
the  same  thing  in  a  small  package. 
Tip  from  Marty  Irons,  Goshen,  NY. 


This  8K/16K  adventure  game  of 
survival  challenges  you  with  man- 
eating  spiders,  giant  bats,  pits 
and  monzxers .  You  are  in  a  cave 
with  5  levels  of  20  rooms  each. 

With  only  3  arrows,  you  must  kill 
three  monzxers  to  emerge  alive. 

If  you  enter  a  spider  room  (2 
per  level) ,  you  are  caught  in  their 
web  and  must  shoot  them,  but  they 
are  gone  after  you  shoot  them. 

Pits  (2  per  level)  drop  you  a 
level  if  you  are  at  level  4  or 
higher,  but  the  room  you  land  in 
may  not  be  safe.  Level  5  contains 
bottomless  pits  (ending  the  game) . 

If  you  enter  a  room  with  bats 
(2  per  level) ,  they  carry  you  to 
another  room  (perhaps  not  safe)  on 
the  same  level  and  return. 

One  room  in  the  cave  contains 
a  sword.  If  you  go  in  that  room, 
the  sword  is  yours  to  keep. 

Three  monzxers  lurk  in  the 
cave,  not  necessarily  on  different 
levels.  If  you  enter  their  room, 
they  will  instantly  kill  you  unless 
you  have  a  sword.  Kill  a  monzxer 
by  shooting  an  arrow  into  its  room. 

The  computer  warns  you  of 
nearby  threats.  One  room  away  from 
a  pit,  it  prints  'I  FEEL  A  DRAFT. ' 
One  room  from  a  spider  it  says 
'I  SEE  COBWEBS. '  One  room  from 
bats  you  read  'BATS  NEARBY. '  One 
or  two  rooms  from  a  monzxer,  your 
guide  says  'I  SMELL  A  MONZXER.' 

The  computer  gives  your  posi¬ 
tion  and  which  3  rooms  there  are 
tunnels  to  on  the  same  level.  You 
can  move  or  shoot,  then  specify  the 
room  to  enter  or  the  arrow's  path. 
The  arrow  will  not  fall  in  a  pit, 
be  carried  by  bats,  or  stop  in  a 
spider's  room.  If  its  path  returns 
it  to  your  room,  it  kills  you. 

The  game  ends  when  you  kill 
all  3  monzxers,  shoot  yourself,  a 
spider  or  a  monzxer  eats  you,  or 
you  fall  in  a  bottomless  pit.  To 
exit  early,  hit  BREAK  when  it  asks 
"MOVE  OR  SHOOT?" 

I'd  like  to  hear  from  others 


3 


about  this  program  or  anyone  having 
trouble  with  the  16K  RAM  dumping 
out  programs.  I  wrote  a  program  to 
play  Monopoly  against  the  computer; 
please  write  if  you're  interested. 

Andrew  Q.  Banta,  R.D.  #7 
Bethlehem,  PA,  18015 

(For  a  description  of  line  and  sub¬ 
routine  functions,  send  us  a  self- 
addressed  stamped  envelope . --AZ) 

1  RAND 

10  PRINT  AT  10, 4; "AN  A.  Q.  BAN 
TA  PRODUCTION" 

20  PAUSE  300 
25  POKE  16437,255 
30  CLS 

50  PRINT  AT  1 0 , 20 ; "SUPER" 

60  PRINT  AT  12,18; "MONZXER" 

70  FOR  1=3  TO  37 
80  FOR  J=1 1  TO  19 
90  PLOT  J,I 
100  NEXT  J 
1 10  NEXT  I 
120  FOR  1=16  TO  24 
1 30  FOR  J=8  TO  22 
140  PLOT  J,I 
150  NEXT  J 
160  NEXT  I 
170  FOR  1=22  TO  32 
180  PLOT  6,1 
190  PLOT  24,1 
200  NEXT  I 
210  PLOT  5,22 
220  PLOT  7,22 
225  PLOT  7,21 
230  PLOT  23,22 
235  PLOT  25,22 
240  PLOT  23,21 
245  PLOT  25,21 
250  PLOT  9,35 
255  PLOT  10,35 
265  PLOT  10,36 
270  PLOT  20,36 
275  PLOT  20,35 
280  PLOT  21,35 
285  FOR  1=14  TO  16 
290  FOR  J=3  TO  16 
295  UNPLOT  I,J 
300  NEXT  J 
305  NEXT  I 
30  7  PLOT  23, 33 


312  PLOT  7,33 

31  5  PLOT  7, 32 

320  FOR  1=5  TO  25 

325  IF  1=14  THEN  LET  1=17 

330  PLOT  1,3 

335  NEXT  I 

338  FOR  1=6  TO  24 

340  IF  1=14  THEN  LET  1=17 

342  PLOT  1,4 

345  NEXT  I 

350  PRINT  AT  21,3;"""  """ 

352  PRINT  AT  21,9;"""  """ 

355  PRINT  AT  7,5; "Q" 

357  PRINT  AT  7,9; "Q" 

360  PRINT  AT  9 , 5" 

365  PRINT  AT  5,22;"  - /" 

370  PRINT  AT  4,28; "/" 

375  PRINT  AT  3,29 ; "/" 

380  PRINT  AT  2,30 ; "/" 

382  UNPLOT  8,17 
385  UNPLOT  8,16 
387  UNPLOT  9,16 
390  UNPLOT  21,16 
392  UNPLOT  22,16 
395  UNPLOT  22,17 

397  PAUSE  600 

398  POKE  16437,255 

400  DIM  R( 3, 10 1 ) 

401  DIM  A ( 6) 

402  FOR  1=1  TO  3 

403  LET  R ( I , 1 0 1 ) = 1 0 1 

404  NEXT  I 

406  LET  SW=0 

407  LET  DM=0 

408  FOR  L=0  TO  80  STEP  20 
410  FOR  1=1  TO  20 

415  LET  K=£j+I 
420  FOR  J=1  TO  3 
422  LET  J1=J 

425  IF  J1CINT  ((I-D/5)  THEN  LE 
T  J1=J1-1 

430  IF  R ( J , K) > 0  THEN  GOTO  495 

435  LET  G=INT  ( RND* 5 ) + J 1  * 5  +  L+ 1 

436  FOR  M= 1  TO  5 

4  37  IF  R ( J , L+M+INT  (  ( I— 1 ) /5 ) * 5 ) 
=G  THEN  GOTO  435 
438  NEXT  M 
440  FOR  H= 1  TO  3 
445  IF  R (H , G) =K  THEN  GOTO  435 
450  IF  R (H , G) =0  THEN  GOTO  465 
455  NEXT  H 
460  GOTO  435 
465  LET  R ( J , K) =G 
490  LET  R(H,G)=K 
495  NEXT  J  . 


4 


500  NEXT  I 
510  NEXT  L 

525  LET  YR=INT  (RND*20)+1 
535  LET  S 1 =6 
610  DIM  X ( 36 ) 

620  DIM  T ( 30 ) 

630  DIM  C ( 30) 

640  DIM  Q ( 30 ) 

650  DIM  W ( 3) 

660  DIM  S ( 1 0) 

670  DIM  B ( 1 0) 

680  DIM  P { 10) 

690  LET  DM=0 
695  LET  SW=0 

700  LET  SR=INT  (RND*100)+1 
710  FOR  1=1  TO  3 
720  LET  W ( I ) =INT  (RND*100)+1 
725  IF  W(I)=YR  THEN  GOTO  720 
730  NEXT  I 

740  FOR  1=1  TO  9  STEP  2 
745  FOR  J=0  TO  1 

750  LET  S ( I+J ) = ( INT  (RND*20)+1) 
+20*INT  (1/2) 

760  LET  B ( I+J ) = ( INT  (RND*20)+1) 
+20*INT  (1/2) 

770  LET  P ( I+J ) = ( INT  (RND*20)+1) 
+20*INT  (1/2) 

780  NEXT  J 

790  NEXT  I 

800  FOR  1=0  TO  9 

810  FOR  J=1  TO  3 

820  LET  T (I*3+J) =R ( J, S (1+1 ) ) 

830  LET  C (I*3+J) =R(J,B (1+1 )  ) 

840  LET  Q (I*3+J) =R( J,P (1+1 )  ) 

850  NEXT  J 

860  NEXT  I 

870  FOR  1=0  TO  2 

880  FOR  J=1  TO  3 

890  LET  X(I*3+J)=R(J,W(I+1) ) 

900  FOR  L= 1  TO  3 

910  LET  GG= ( (J-1)*3)+(I*9) +L+9 

920  LET  X (GG) =R (L , X ( I* 3+J ) ) 

930  NEXT  L 
950  NEXT  J 
960  NEXT  I 
1000  CLS 

1010  LET  YL=INT  ( ( YR- 1 ) /20 ) + 1 
1020  PRINT  "YOU/RE  ON  LEVEL  " ; YL 
1030  PRINT  "YOU/RE  IN  ROOM  " ; YR- 
( YL- 1 ) *20 

1032  IF  YR=SR  THEN  PRINT  "THERE 
IS  A  SWORD  IN  THE  ROOM" 

1037  IF  YR=SR  THEN  LET  SW=1 

1040  FOR  1=1  TO  30 

1050  IF  YR=T ( I )  THEN  GOTO  1080 


1060  NEXT  I 

1070  GOTO  1090 

1080  PRINT  "I  SEE  COBWEBS" 

1090  FOR  1=1  TO  36 

1100  IF  YR=X ( I )  THEN  GOTO  1130 

1110  NEXT  I 

1120  GOTO  1140 

1130  PRINT  "I  SMELL  A  MONZXER" 

1040  FOR  1=1  TO  30 

1150  IF  YR=Q ( I )  THEN  GOTO  1180 

1160  NEXT  I 

1170  GOTO  1190 

1180  PRINT  "I  FEEL  A  DRAFT" 

1190  FOR  1=1  TO  30 

1200  IF  YR=C ( I )  THEN  GOTO  1230 

1210  NEXT  I 

1220  GOTO  1240 

1230  PRINT  "BATS  NEARBY" 

1240  FOR  1=1  TO  3 

1250  IF  YR=W ( I )  THEN  GOTO  1280 

1260  NEXT  I 

1270  GOTO  1300 

1280  PRINT  "THERE  IS  A  MONZXER  I 
N  YOUR  ROOM" 

1281  IF  SW=1  THEN  GOTO  1285 

1282  PRINT  "AND  IT  ATE  YOU" 

1284  GOTO  3000 

1285  PRINT  "BUT  YOU  KILLED  IT  WI 
TH  YOUR  SWORD" 

1290  PAUSE  300 

1291  POKE  16437, 255 

1292  LET  DM=DM+ 1 

1294  IF  DM=3  THEN  GOTO  2990 

1297  LET  W ( I) =1 0 1 

1298  GOTO  870 
1300  FOR  1=1  TO  10 

1310  IF  YR=B ( I )  THEN  GOTO  1340 
1320  NEXT  I 
1330  GOTO  1380 
1340  CLS 

1350  LET  YR= ( INT  ( RND* 20 ) + 1 ) + ( YL 
-1  ) *20 

1360  PRINT  "BATS  TOOK  YOU  TO  ROO 

M  "  ;  YR-  4YL-1  )  *20 

1370  GOTO  1010 

1380  FOR  1=1  TO  10 

1390  IF  YR=S(I)  THEN  GOTO  1470 

1400  NEXT  I 

1410  GO  TO  1430 

1420  PRINT  "THERE  IS  A  SPIDER  IN 
YOUR  ROOM" 

1430  FOR  1=1  TO  10 

1440  IF  YR=P ( I )  THEN  GOTO  1470 

1450  NEXT  I 

1460  GOTO  1540 


1470  IF  YL=5  THEN  GOTO  1520 
1480  CLS 

1490  PRINT  "YOU  FELL  IN  A  PIT" 

1  500  LET  YR=YRt 2  0 
1510  GOTO  1010 

1520  PRINT  "YOU  FELL  INTO  A  BOTT 
OMLESS  PIT" 

1530  GOTO  3000 

1540  PRINT  "TUNNELS  TO  ROOMS 

1550  FOR  1=1  TO  3 

1560  PRINT  "  " ;R(I,YR) - (YL-1 ) *20 

1570  NEXT  I 

1580  PRINT 

1590  PRINT  "MOVE  OR  SHOOT" 

1600  PAUSE  900 
1605  POKE  16437,255 
1610  LET  K$=INKEY$ 

1620  IF  K$="M"  THEN  GOTO  1650 

1630  IF  K$= " S "  THEN  GOTO  2000 

1640  GOTO  1600 

1650  FOR  1=1  TO  10 

1652  IF  YR=S ( I )  THEN  GOTO  1657 

1654  NEXT  I 

1656  GOTO  1659 

1657  PRINT  "THE  SPIDER  GOT  YOU" 

1658  GOTO  3000 

1659  PRINT  "WHICH  ROOM?" 

1660  INPUT  YR1 
1670  FOR  1=1  TO  3 

1680  IF  YR1=R(I,YR) - (YL-1 ) *20  TH 
EN  GOTO  1720 
1690  NEXT  I 

1700  PRINT  "YOU  HIT  A  WALL" 

1710  GOTO  1650 

1720  LET  YR=YR1+ (YL-1 ) *20 

1730  GOTO  1000 

2000  LET  S 1 =S 1-1 

2005  FOR  1=1  TO  10 

2010  IF  YR=S ( I )  THEN  GOTO  2035 

2020  NEXT  I 

2030  GOTO  2060 

2035  PRINT  "YOU  KILLED  THE  SPIDE 

R" 

2040  PAUSE  300 
2042  POKE  16437,255 
2045  LET  S (I) =101 
2050  GOTO  800 
2060  CLS 

2070  PRINT  "MAKE  A  LIST  OF  5  ROO 
MS  FOR  THE  ARROWS  FLIGHT" 

2080  FOR  1=2  TO  6 
2090  INPUT  A ( I ) 

2100  PRINT  A ( I ) 

2105  LET  A(I)=A(I)+(YL-1) *20 
2110  NEXT  I 


2 1 20  LET  A ( 1 ) =YR 
2130  FOR  1=2  TO  6 
2140  FOR  J=1  TO  3 

2150  IF  A(I)=R(J,A(I-1) )  THEN  GO 
TO  2180 
2160  NEXT  J 

2165  LET  J=INT  (RND*3)+1 
2170  LET  A ( I ) =R(J,A(I-1 ) ) 

2 1 80  FOR  J=1  TO  3 

2190  IF  A ( I ) =W ( J )  THEN  GOTO  2220 

2200  NEXT  J 

2210  GOTO  2230 

2220  PRINT  "YOU  SLEW  A  MONZXER" 

2221  LET  W(J)=101 

2222  PAUSE  300 

2223  POKE  16437,255 

2224  LET  DM=DM+ 1 

2225  IF  DM=3  THEN  GOTO  2990 

2226  IF  S1=0  THEN  GOTO  2283 
2228  GOTO  870 

2230  IF  NOT  A(I)=YR  THEN  GOTO  22 
60 

2240  PRINT  "YOU  SHOT  YOURSELF" 
2250  GOTO  3000 
2260  NEXT  I 

2270  PRINT  "YOU  MISSED  THE  MONZX 
ER" 

2280  PAUSE  300 

2281  POKE  16437,255 

2283  IF  S1=0  THEN  PRINT  "YOU  ARE 
OUT  OF  ARROWS" 

2285  IF  S1=0  THEN  GOTO  3000 
2290  GOTO  1000 

2990  PRINT  "NO  MORE  MONZXERS ,  YO 
U  WIN" 

3000  PAUSE  600 
3002  POKE  16437,255 
3005  CLS 

3010  PRINT  AT  10, 10; "PLAY  AGAIN? 

II 

3020  PAUSE  900 
3022  POKE  16437,255 
3030  LET  K$=INKEY$ 

3040  IF  K$*="Y"  THEN  GOTO  3070 
3050  IF  K$= " N "  THEN  STOP 
3060  GOTO  3020 

3070  PRINT  AT  1 0 , 6 ; " SAME  TUNNEL 
SET?" 

3080  PAUSE  900 
3085  POKE  16437,255 
3090  LET  K$  =  INKEY $ 

3100  IF  K$= " Y "  THEN  GOTO  525 
3110  IF  K$="N"  THEN  GOTO  400 
3120  GOTO  3080 
Syntactic  Sum:  41313,  8K 


6 


NEW  8K  ROM  POTPOURRI 

As  you  know,  Sinclair’s  first 
8K  ROM  has  a  few  bugs .  By  the  time 
you  read  this,  however,  Sinclair 
should  have  received  updated, 
corrected  ROMs  which  contain  four 
primary  modifications : 

1- -The  INPUT  routine  (at  0EE9h  in 
both  8K  ROMs)  contains  a  CALL  14A3h 
as  the  third  instruction.  This 
subroutine,  actually  part  of  the 
CLEAR  routine,  clears  the  memory 
area  used  to  hold  keyboard  input. 

It  sets  the  system  variables  STKEND 
and  STKBOT  equal  to  E-LINE,  the 
pointer  to  the  first  byte  of  the 
input  buffer.  The  CALL  has  been 
added  at  OEEFh  (new  ROM) .  Thus , 
all  code  up  to  this  point  is  iden¬ 
tical  in  both  8K  ROMs.  Beyond  this 
address,  all  code  in  the  new  ROM  is 
offset  by  three  bytes. 

2-  -In  the  old  8K  ROM,  a  bug  in  the 
PAUSE  routine  (at  0F32  in  new  ROM, 
0F2F  in  old  ROM)  caused  the  machine 
to  crash  if  you  didn’t  POKE  16437, 
255  after  PAUSEing.  The  offending 
instruction  (at  0F3D  in  old  ROM) 
was  a  SET  7,(IY+35)  where  IY  held 
4000h.  This  has  been  replaced  with 
LD  (IY+35),FE.  Because  of  the 
three  bytes  added  to  the  INPUT  rou¬ 
tine,  the  LD  is  at  0F40h  in  the  new 
ROM.  Now  you  no  longer  need  to 
POKE  255  to  16437  every  time  you 
PAUSE  with  the  new  8K  ROM. 

3- -The  evaluation  routines  are 
changed.  The  old  code  (at  102Fh  in 
the  new  ROM)  tested  bit  6  of  the 
system  FLAGS.  Originally  a  BIT 
instruction,  it  is  now: 

LD  A, (4001) 

CP  # CO 

This  change  moves  all  code  beyond 
1032h  forward  another  byte. 

4- -The  floating-point  to  16-bit 
conversion  routine  has  been 
changed.  In  the  new  ROM,  three 
instructions  have  been  deleted: 

LD  A,H 

SUB  L 

LD  H, A 

Although  I  have  not  fully  analyzed 
the  new  8K  ROM,  I  suspect  that 


these  three  instructions,  origin¬ 
ally  located  at  I734h  in  the  old 
ROM,  are  the  cause  of  users’ 
troubles  with  numerical  calcula¬ 
tions.  The  end  result  of  this 
deletion  is  that  all  code  beyond 
1737h  is  moved  back  three  bytes. 

These  changes  result  in  the 
following  new  8K  ROM  map: 

Loc.  (hex) 

0000  NMI  Off 

Jump  to  Initialization 
0008  Restarts 

0066  NMI  (Slow)  Handler 

007E  Keyboard  Decode  Table 

00CC  Function  (Keyboard) 

Decode  Table 

00F3  Graphics  (Keyboard) 

Decode  Table 

0111  Command  (Keyboard) 

Decode  Table 

01FC  I/O  Routines 

03A2  Initialization  and 

Editing 

0562  Mode/Edit  Table 

0575  List,  etc. 

0C29  Command  Offset  Table 

0C48  Command  Pointer  Table 

0D16  Syntax  Class  Table 

0D1D  class  Evaluation 

Routines 

0DAB  Command  Handlers 

0F55  Expression  Evaluator 

1263  String  Slicing 

14D9  Decimal  to  Floating 

Point  Conversion 
Routine 

158A  Floating  Point  to  16- 

Bit  Conversion 
Routine 

174C  Handlers  for  the  Four 

Basic  Arithmetic 
Operators 

1923  Function  Address  Table 

199D  Calculator 

1A45  Function  Evaluation 

Routines 

1E00  Character  Generator 

David  Ornstein,  Newton,  MA 

ZX81  2K  RAM  UPGRADE:  Blair  Evans 
(Arlington,  MA)  told  us  of  a  2K  x  8 
RAM  chip  that  will  fit  the  ZX81. 
Part  # 6116  from  Hitachi  and  others. 


7 


SOFTWARE  REVIEW:  ZETA  SOFTWARE 


Here's  an  unusual  review:  a  free  sample.  We  feel  that  one  of 
Zeta  Software's  best  points  is  the  thorough  documentation  that  comes 
with  each  program,  so  with  Zeta's  permission  we  are  reprinting  one  of 
their  programs  so  you  can  see  for  yourself  just  what  you  get.  Jon 
Bobst  of  Zeta  customized  this  program,  MOD  Name  Changer,  for  SYNTAX. 
It  is  available  in  his  catalog  (#45)  in  a  general  form.  The  comments 
after  the  semicolons  are  explanations  of  function. 

Zeta  currently  offers  45  4K/1K  programs,  including  games, 
educational  programs,  and  programs  to  help  you  learn  how  to  use  your 
computer.  No  listing  costs  over  $5;  most  are  $1.  You  can  get 
programs  on  cassette  for  an  extra  $5.  Programs  for  8K  ROM  machines 
are  in  the  works.  Jon  is  also  working  on  a  SciFi  series  called 
ZetaTrek,  to  culminate  in  one  mammoth  8K/16K  program.  For  more 
information  and  a  free  catalog,  contact  Jon  Bobst  at  Zeta  Software, 
P.0.  Box  3522,  Greenville,  SC,  29608-3522,  803/246-1741. 

©Zeta  Software,  Greenville,  SC,  1981 


1  REM  mm  etc.  ;118  shifted  A's  for  MCPause 

2  REM  hJAi’tl  etc.  ;71  shifted  A's  for  MCD  changer 

3  REM  B  ;Buffer  against  listing  1  or  2 


POKE  16403,3  On  edit  line  with  cursor  on  line  3  to  bump  1  and  2  REMs 
of f- s  creen . 


10  POKE  16421 , 24 
20  FOR  X= 1  TO  5 
30  PRINT 
40  NEXT  X 

100  FOR  X= 16427  TO  16445 
1  1  0  INPUT  Y 
120  POKE  X,Y 
1  30  PRINT  PEEK (X)  , 

140  NEXT  X 
150  INPUT  A$ 

160  FOR  X= 1  6 4 4 6  TO  16544 
170  POKE  X , PEEK ( X- 16116) 
180  NEXT  X 


; Lie  about  number  of  free  rows 
;  Drop  display  down  5  rows 


;  Manual  input  loop 


; Input  stop  to  allow  table  check 
;  Automatic  input  loop  to  complete 
;  1  REM  with  ROM  values  in 
;addresses  330-428 


GO  TO  100  Enter  19  values : 


205 

51 

64 

96 

201 

205 

173 

1 

62 

0 

61 

200 

50 

52 

64 

6 

6 

16 

254 

Hit  NL  to  continue  filling  in  1  REM  with  ROM  values.  Edit  out  lines 
150-180. 


100  FOR  X=1 6549  TO  16619 


GO  TO  100  Enter  71  values  from  code  sheet  into  2  REM.  If  you  happen 

to  hit  HOME,  LIST,  or  move  cursor  above  line  3,  move  cursor 
down  a  few  lines  and  POKE  16403,3  to  bump  1  and  2  off 

8 


again . 

Edit  out  lines  100-140. 

50  PRINT  "AAAsAsssAsAsssAsAAAAAssAssAsssA"  ;A=shifted  A, 
60  PRINT  "AssssAsAssAAssAsssAsssAsAssAsA"  ;s=1  space 
70  PRINT  " sAssssAsssAsAsAsssAsssAAAsssA" 

80  PRINT  "ssAsssAsssAssAAsssAsssAsAssAsA" 

90  PRINT  " AAAsssAsssAsssAsssAsssAsAsAsssA" 


100  PRINT 

110  PRINT  "AAAAAAAAAAAAAA" 

120  PRINT  "MC  DISPLAY  BYA" 

130  PRINT  "  JON  BOBST  A" 

140  PRINT  "ZETA  S OF TWARE AAAAAAAA 
AAAAAAAAAAF  " 

150  FOR  X= 1  TO  9 
160  PRINT 
170  NEXT  X 

200  LET  P=PEEK (16396) +PEEK (16397) 
*256+6 

210  POKE  16549  ,P-  (P/256) *256 
220  POKE  16550 , P/256 
300  LET  D=USR ( 16553) 

400  STOP 


SAVE  RUN 


CODE  SHEET- -MCD  Changer 


; 1 4  shifted  A ' s 
;Last  A  is  shifted 

;18  shifted  A's  and  1  shifted  F 
;  (this  char,  must  be  in  display) 
; Filler  loop  for  24-row  display 

; Address  of  1st  chr  in  display 

;Load  2  REM  with  that  address 

;Call  subroutine  in  2  REM 
;Hit  BREAK  to  exit  MCD  change 
loop 


ADDRESS 

+  1 

+  2 

+  3 

1  6549 

0 

0 

0 

0 

;Address  storage 

16553 

229 

42 

165 

64 

; Initialize  subroutine 

16557 

34 

167 

64 

225 

1  6561 

229 

42 

167 

64 

;This  section  gets  present 

16565 

35 

126 

254 

0 

; address,  points  to  next, 

16569 

40 

27 

254 

7 

; looks  in  it  to  see  what  it 

16573 

32 

6 

42 

165 

;is,  and  changes  chr 

1  6577 

64 

34 

167 

64 

; accordingly 

16581 

126 

254 

9 

40 

16585 

8 

254 

128 

32 

1  6589 

12 

54 

9 

24 

16593 

8 

54 

128 

24 

16597 

4  H 

6 

5 

16 

; Display  synchronizer 

1660  1 

254 

34 

167 

64 

; Save  present  address 

16605 

62 

2 

50 

52 

; Load  1  REM  timer  with  value 

16609 

64  | 

225 

205 

43 

;Call  subroutine  in  1  REM 

16613 

64 

124 

254 

-3 

;Test  for  BREAK  key,  RETURN 

16617 

32 

198 

_J  201 

; to  BASIC  if,  loop  back  if 

;  not 

NOTES: 

71  value-s  into 

2  REM 

addresses 

16549-16619 

9 


■  Mathematical  and  scientific  functions 
accurate  to  8  decimal  places 

■  Unique  one-touch  entry  of  key  words 
like  PRINT,  RUN  and  LIST 

■  Automatic  syntax  error  detection  and 
easy  editing 

■  Randomize  function  useful  for  both 
games  and  serious  applications 

■  Built-in  interface  for  ZX  Printer 

■  IK  of  memory  expandable  to  16K 

The  ZX81  is  also  very  convenient 
to  use.  It  hooks  up  to  any  television  set 
to  produce  a  clear  32-column  by  24-line 


Warranty  and  Service  Program** 

The  Sinclair  ZX81  is  covered  by  a 
10-day  money-back  guarantee  and  a 
limited  90-day  warranty  that  includes  free 


Introducing 
the  Sinclair  ZX81 


If  you’re  ever  going  to  buy 
a  personal  computer,  now  is  the 
time  to  do  it. 

The  new  Sinclair  ZX81  is  the 
most  powerful,  yet  easy-to-use 
computer  ever  offered  for  anywhere 
near.the  price:  only  $149.95*  completely 
assembled. 

Don’t  let  the  price  fool  you.  The 
ZX81  has  just  about  everything  you 
could  ask  for  in  a  personal  computer. 

A  breakthrough 
in  personal  computers 

The  ZX81  is  a  major  advance  over 
the  original  Sinclair  ZX80— the  world’s 
largest  selling  personal  computer  and 
the  first  for  under  $200. 

In  fact,  the  ZX81’s  new  8K  Extended 
BASIC  offers  features  found  only  on  com¬ 
puters  costing  two  or  three  times  as  much. 

Just  look  at  what  you  get: 

■  Continuous  display,  including  moving 
graphics 


If  you  already  own  a  ZX80 

The  8K  Extended  BASIC 
chip  used  in  the  ZX81  is  available 
as  a  plug-in  replacement  for  your 
ZX80  for  only  $39.95,  plus  shipping 
and  handling— complete  with  new  key¬ 
board  overlay  and  the  ZX81  manual. 

So  in  just  a  few  minutes,  with  no 
special  skills  or  tools  required,  you  can 
upgrade  your  ZX80  to  have  all  the 
powerful  features  of  the  ZX81.  (You’ll 
have  everything  except  continuous  dis¬ 
play,  but  you  can  still  use  the  PAUSE 
and  SCROLL  commands  to  get  moving 
graphics.) 

With  the  8K  BASIC  chip,  your 
ZX80  will  also  be  equipped  to  use  the 
ZX  Printer  and  Sinclair  software. 


■  Multi-dimensional  string  and  numerical  display.  And  you  can  use  a  regular  parts  and  labor  through  our  national 


arrays 


cassette  recorder  to  store  and  recall 


service-by-mail  facilities. 


*  Plus  shipping  and  handling  Price  includes  connectors  programs  by  name.  **Does  not  apply  to  ZX81  kits, 

for  TV  and  cassette,  AC  adaptor,  and  FREE  manual. 


NEW  SOFTWARE:Sinclair  has 
published  pre-recorded  pro¬ 
grams  on  cassettes  for  your 
ZX81,  or  ZX80  with  8K  BASIC. 
We’re  constantly  coming  out 
with  new  programs,  so  we’ll 
send  you  our  latest  software 
catalog  with  your  computer. 


ZX  PRINTER:  The  Sinclair  ZX 
Printer  will  work  with  your  ZX81, 
or  ZX80  with  8K  BASIC.  It  will 
be  available  in  the  near  future 
and  will  cost  less  than  $100. 


16K  MEMORY  MODULE: 

Like  any  powerful,  full  fledged 
computer,  the  ZX81  is  expand¬ 
able.  Sinclair’s  16K  memory 
module  plugs  right  onto  the 
back  of  your  ZX81  (or  ZX80, 
with  or  without  8K  BASIC). 
Cost  is  $99.95,  plus  shipping 


ZX81  MANUAL:  The  ZX81 
comes  with  a  comprehensive 
164-page  programming  guide 
and  operating  manual  de¬ 
signed  for  both  beginners  and 
experienced  computer  users. 
A  $10.95  value,  it’s  yours  free 
with  the  ZX81. 


and  handling. 


Introducing 
the  ZX81  kit 


CALL  800-543-3000.  Ask  for  op¬ 
erator  #509.  In  Ohio  call  800-582-1364. 

In  Canada  call  513-729-4300.  Ask  for 
operator  #509.  Phones  open  24  hours 
a  day,  7  days  a  week.  Have  your  Master- 
Card  or  VISA  ready. 

These  numbers  are  for  orders 
only.  For  information,  you  must  write  to 
Sinclair  Research  Ltd.,  One  Sinclair  Plaza, 
Nashua,  NH  03061. 


If  you  really  want  to 
save  money,  and  you  enjoy 
building  electronic  kits,  you 
can  order  the  ZX81  in  kit  form 
for  the  incredible  price  of  just 
$99.95*  It’s  the  same,  full-featured 
computer,  only  you  put  it  together 
yourself.  We’ll  send  complete,  easy- 
to-follow  instructions  on  how  you  can 
assemble  your  ZX81  in  just  a  few  hours. 
All  you  have  to  supply  is  the  soldering  iron. 

How  to  order 

Sinclair  Research  is  the  world’s  larg¬ 
est  manufacturer  of  personal  computers. 

The  ZX81  represents  the  latest 
technology  in  microelectronics,  and  it 
picks  up  right  where  the  ZX80  left  off. 
Thousands  are  selling  every  week. 

We  urge  you  to  place  your  order 
for  the  new  ZX81  today.  The  sooner  you 
order,  the  sooner  you  can  start  enjoying 
your  own  computer. 

To  order,  simply  call  our  toll  free 
number,  and  use  your  MasterCard  or  VISA. 
To  order  by  mail,  please  use  the 
,  coupon.  And  send  your  check  or  money 
order.  We  regret  that  we  cannot  accept 
purchase  orders  or  C.O.DIs. 


iinczlaii- 


DEAR  EDITOR: 


The  ZX-Microf air  in  London  on 
September  26  brought  out  over  5000 
attendees.  Many  die-hards  stood  in 
the  London  drizzle  for  2  hours. 

Inside  about  50  stands  dealt 
with  ZX80  systems-- lots  of  books 
and  magazines,  hardware  add-ons  and 
games.  At  least  3  chess  programs 
are  running.  I  expect  the  best  to 
be  from  ARTIC  Computing,  396  James 
Reckitt  Ave. ,  Hull,  UK,  £10. 

The  Microfair  also  launched  my 
new  book,  Understanding  the  ZX81 
ROM.  It  teaches  the  elements  of 
Z80  machine  code  language  program¬ 
ming  through  the  8K  ROM  program. 

It  applies  generally  to  the  8K  ROM, 
so  it's  just  as  good  for  8K  ZX80s 
as  ZX81s.  The  floating  point 
routines  are  not  discussed.  The 
book  retails  in  the  UK  for  £8.95  + 
50p  postage.  Melbourne  House  will 
surely  advertise  it,  but  I  could 
supply  copies  to  SYNTAX  readers  at 
$22  per  copy,  including  airmail,  2 
1/2  week  delivery. 

Ian  Logan,  24  Nurses  Ln,  Skelling- 
thorpe,  Lincoln,  UK  LN6  0TT 


Last  week  my  MicroAce  8K  ROM 
finally  arrived  (after  2  months) . 

It  has  the  same  bug  that  Sinclair's 
had  trouble  with.  I  wrote  MicroAce 
about  this ,  but  thought  I  should 
inform  SYNTAX  readers.  Is  MicroAce 
going  to  make  good  on  this? 

In  June's  SYNTAX  you  quote 
David  Ornstein  as  saying  the  ZX80 
can  accommodate  48K  external  RAM. 
This  agrees  with  the  reverse  of  the 
ZX80  schematic,  but  disagrees  with 
Video  Display  Notes  (p.8)  and 
Beginners'  ROM  and  RAM  Addresses 
(p.15,  both  May  81)  and  my  own 
experiences  in  trying  to  decode 
address  15  for  memory  expansion. 
This  won't  work  without  internal 
hardware  changes  (ROM  decoding) . 

I'm  not  sure  how.  to  do  this  without 
more  info  on  the. display  routine. 

John  L.  Oliger,  Indianapolis,  IN 


Kevin  Hawkins,  MicroAce 's  new  mana¬ 
ger,  Santa  Ana,  CA,  says  he  doubts 
that  MicroAce  will  replace  their 
faulty  ROMs.  If  they  did,  new  ROMs 
would  not  be  ready  until  July  or 
August  of  1982  because  of  the  time 
needed  to  make  semiconductor 
components.  And  Sinclair  may  try 
to  keep  MicroAce  from  selling  any 
8K  ROMs ,  bugs  or  no  bugs .  The 
legal  situation  should  shake  out  in 
a  few  weeks,  according  to  Kevin. 

Ornstein  verifies  the  need  to 
add  ROM  decoding.  On  a  ZX80 ,  gen¬ 
erate  a  signal  to  go  low  when  A13, 
A14  &  A15  are  low  and  substitute  it 
for  A14'  at  the  input  (pin  13)  of 
IC13.  Remember  to  pull  NOT  RAM  CS 
to  +5V  at  the  edge  connector. 

On  the  ZX81,  pin  23B  of  the 
edge  connector  is  NOT  ROM  CS.  Use 
it  to  externally  decode  ROM  by 
pulling  23B  to  +5V  except  when  you 
want  to  select  R0M.--K0 


I've  had  a  3K  MicroAce  since 
last  January.  My  only  problem  is 
that  the  voltage  regulator  gets  hot 
and  the  CPU  goes  ape.  I  mounted 
the  unit  under  the  printed  circuit 
board  of  a  Jameco  Electronics  JE 
610  keyboard,  parallel  wiring  the 
keys  and  cutting  PCB  traces  where 
necessary  to  disable  the  sockets 
set  up  for  ICs  on  an  ASCII  basis. 

I  also  moved  the  voltage  regulator 
as  far  away  from  the  CPU  as 
possible.  Now  it  works  well. 

Bill  Harral,  San  Pablo,  CA 


Will  the  8K  floating  point  let 
you  use  numbers  larger  than  32767? 
Can  it  be  used  with  the  additional 
16K  memory  expansion? 

Charles  N.  Ryan,  Sao  Paulo,  Brazil 

You  can  use  numbers  up  to  65535  on 
the  8K  ROM  before  you  get  subscript 
out  of  range  err#r.  Arithmetic 
overflow  errors  do  not  occur  until 
the  number  calculated  exceeds  about 
10^°.  The  8K  ROM  plus  the  16K  RAM 
make  a  powerful  larger  system. --AZ 

12 


ZX81- -THE  NEW  STANDARD 

While  other  manufacturers 
lower  the  prices  on  machines  that 
won't  sell,  Clive  Sinclair  uses 
technology  to  give  more  for  less. 
For  only  $149,  you  now  get  8K 
BASIC,  continuous  display,  the 
choice  of  channel  2  or  3  and  a 
newly  styled  case. 

If  you  just  want  a  computer  to 
use,  the  smaller  ZX81  addresses 
some  user  problems.  The  8K  ROM 
bugs  are  fixed.  Also,  the  dual¬ 
channel  (2  &  3)  modulator  avoids 
problems  near  TV  transmitters  since 
you  can  switch  to  the  unused  band. 
You  get  less  screen  interference 
because  the  new  case  provides  over¬ 
lapping  metallization  for  better 
shielding.  You'll  find  new  key 
names,  too:  Rubout  becomes  Delete 
and  Newline  becomes  Enter.  I  like 
the  new  keyboard  feel--soft  with  a 
longer  travel  than  the  ZX80. 

Hardware  hackers  will  enjoy 
the  fully  socketed  ICs  and  the  five 
SCREWS  that  hold  the  case  together. 
(Three  are  hidden  beneath  the  feet, 
which  attach  with  double-sided 
tape.)  Inside,  you'll  find  28-pin 
sockets  on  both  RAM  and  ROM.  This 
allows  plug-in  upgrade  to  2K  memory 
using  the  4816  chip  and  changing 
one  jumper.  The  keyboard  attaches 
with  8-  &  5-pin  CONNECTORS.  Also, 
pin  23B  of  the  connector  now 
carries  the  NOT  ROM  CS  line  so  you 
can  add  external  ROM  select. 

While  continuous  display  is 
nice,  you'll  really  like  having  a 
choice  of  FAST  or  SLOW  mode.  You 
may  be  surprised  to  learn  how  much 
you  depended  on  screen-f licker  as  a 
typing  clue.  (I  use  FAST--with 
flicker- -to  type  in  programs,  the 
SLOW- -no  flicker- -to  run  them.) 

Problems  remaining  from  the 
ZX80 :  partial  address  decoding  for 

memory  and  port  locations,  non¬ 
standard  edge  connectors,  and  no 
direct  video  output. 

All  told,  ZX81  represents  an 
improvement  on  the  8K  ZX80  at  a 
substantially  lower  price. --K0 


Z 

4 


z 

c 

z 

Z 

z 

z 

z 

z 

z 

c 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 


FIND  CLEAN  TAPE  ON  8K 

Quickly  find  the  unused 
section  of  tape  for  SAVEing  8K 
programs  on  multi-program  tapes  on 
any  RAM  size.  Enter  this  program 
arter  the  last  one  saved: 

5  REM  "FRESH" 

SAVE  "FRESH" 

Next  time,  rewind  the  tape,  type 
LOAD  "FRESH"  and  play. 

When  the  screen  displays  code 
0/0,  stop  the  tape.  Rewind  just 
enough  so  that  you  can  save  the  new 
program  over  and  erase  FRESH.  SAVE 
a  new  FRESH  program  at  the  end. 

John  Andrews,  San  Jose,  CA 
ZX81  AND  16K  RAM  SCHEMATICS 

A  new  company,  Heuristics,  is 
the  exclusive  distributor  of  ZX81  A 
16K  RAM  pack  schematics.  They  also 
plan  ZX81  hardware  and  software. 

For  info  and  a  free  catalog,  write 
David  Ornstein,  Heuristics,  25 
Shute  Path,  Newton,  MA,  02159. 


ZZZZZZZZZZZZZZZZZZ 

~^>t t 

45  TITLES  4? 

(in  stock  -  4K  ROM) 

For  1K-RAM  ZX80s  ^  ° 

in  BASIC  &  Machine  Code 


YOUR  choice  :user-entry  listings 
(All  <=$5)  :tape  AND  listings 

WRITE  for  free  catalog:  ~ 

ZETA  Software  SX1  L 
P.O.Box  3522 

Greenville,  SC  29608-3522 
In  Europe,  include  $1  bill  or  DM2 
stamp  to: 

DELTASOFT  SX1 
Osterfeldstr .  79 d 
D-2000  Hamburg  54  Germany 

zzzzzzzzzzzzzzzzzz 

zzzzzzzzzzzzzzzzzz 

COMING  SOON . . . 8K/16K  adventures  & 
scientific  programs! 

uuuuuuu  uu 


13 


BOOK  REVIEW:  THE  ZX81  COMPANION 

Title:  The  ZX81  Companion 

By :  Bob  Maunder 

From:  LINSAC,  68  Barker  Road, 

Middlesborough ,  TS5  5ES  UK 
Price:  £7.95  (about  $16.00) 

Bob  Maunder' s  new  book  is  very 
different  from  The  ZX80  Companion. 
It  aims  to  appeal  to  every  ZX81 
owner,  but  more  to  "students"  of 
computing  whether  at  home  or  at 
school . 

Bob  Maunder  is  the  head  of  the 
computing  department  at  Hartlepool 
College.  His  work  there  with  the 
ZX80  and  ZX81  has  led  him  to 
concentrate  his  writing  on  the  ZX81 
in  the  education  field. 

The  book  is  divided  into  four 
sections : 

Chapter  1--Graphics  and  Realtime 
Techniques.  A  good  chapter  that 
goes  into  the  use  of  ZX81  graphics 
to  quite  an  advanced  stage.  You 
are  shown  how  to  draw  lines , 
circles  and  curves.  Several  good 
games  contain  many  useful  ideas. 
Chapter  2- - Inf ormation  Processing. 

In  this  31-page  chapter,  Maunder 
tried  to  show  just  how  much  busi¬ 
ness  computing  can  be  performed 
with  a  16K  ZX81.  He  develops  a 
very  complicated  BASIC  membership 
program  stage  by  stage.  The  finalfc 
program  enables  a  membership  secre¬ 
tary  to  hold  80  records  of  102 
bytes  each,  allowing  him  to  access 
80  names,  addresses  and  "interests" 
in  several  ways.  Overall  this 
program  is  successful,  but  I  feel 
that  the  chapter's  main  advantage 
is  in  introducing  you  to  such 
advanced  BASIC  lines  as: 

5490  LET  R$ (RN , 66  TO  73)=P$ 
which  is  daunting  to  beginners. 
Chapter  3- -Education .  This  chapter 
primarily  discusses  writing  "like¬ 
able"  programs.  Several  more  game 
programs  here  are  all  interesting 
but  not  very  advanced.  Generally, 
this  chapter  isn't  very  successful. 
Chapter  4--The  Monitor.  To  widen 
the  book's  appeal,  Maunder  included 


7  pages  of  text  about  the  8K  moni¬ 
tor.  In  such  a  small  section, 
however,  he  does  little  but  intro¬ 
duce  the  subject.  He  explains 
hexadecimal  arithmetic  and  gives  a 
hex  display  program  with  a  large 
character  program.  A  list  of  8K 
ROM  entry  points  is  also  given 
(supplied  by  myself).  Overall, 
there  is  enough  to  give  a  modest 
introduction  to  anyone  who  wants  to 
find  out  just  what  is  in  the  ZX81's 
monitor  program.  A  further  11 
pages  disassembles  the  first  half 
of  the  monitor  program.  This 
listing  is  not  annotated,  and  the 
book's  first  printing  contains  a 
few  disassembly  errors. 

The  book  will  certainly  do 
well.  It  gives  any  ZX81  owner 
plenty  to  work  at.  As  a  book,  its 
overall  balance  is  very  good. 

Ian  Losan,  Skellingthorpe ,  UK 

Team  4  in  the  UK  seem  to  know  how 
to  load  old  programs  with  new  ROMs, 
via  software.  We'll  track  it  down. 


MX16-16K  RAM 

FOR  USE  WITH  THE 
SINCLAIR  ZX80® 


RAM  MODULE 
AND 

POWER  SUPPLY 

$89.95  PLUS 

$3.00  SHIPPING 
AND  HANDLING 


INSIGHT 

1889  LEWIS  DRIVE 
NILES,  MICHIGAN  49120 
616-684-7868 

M.  C.  /  CHECK /M.O./V  ISA /C.O.D. 


14 


8K/1K  DIGITAL  CLOCK 


This  program  operates  as  a 
digital  clock,  showing  A.M.  or  P.M. 
and  changing  at  12:00.  To  start 
the  clock,  run  the  program,  enter 
A.M.  or  P.M.  and  enter  the  current 
time  as  a  3  or  4  digit  number.  For 
example,  type  216  for  2:16  or  1005 
for  10:05. 

While  the  clock  is  running, 
you  can  move  it  back  1  minute  by 
pressing  the  J  key  and  up  1  minute 
by  pressing  the  K  key.  Pressing  D 
or  F,  the  SLOW  and  FAST  keys,  will 
cause  the  clock  to  run  slower  or 
faster  by  l/60th  second  per  minute. 

If  you  are  fascinated  enough 
to  keep  it  running  for  days  and 
make  fast  and  slow  adjustments,  you 
may  find  Jaat  P  differs  from  3572. 
Type  PRINT  P  to  see  its  new  value' 
and  change  line  70. 

Byte  savers:  Line  10,  use 
shift  W  for  OR.  Line  30,  key  INPUT 
first,  then  cursor  left  and  key 
PRINT,  use  shift  W  for  OR. 

R.F.  Fraser-Smith,  Chicago,  IL 

10  PRINT  "A.M.  OR  P.M. " 

20  INPUT  M$ 

30  PRINT  "  INPUT  TIME  IN  FORM 
352  OR  1107" 

40  INPUT  T 

50  LET  H=INT  (T/100) 

60  LET  M=T-H* 100 
70  LET  P=35 7 2 
80  CLS 
90  GOTO  200 
100  LET  M=M+1 

110  IF  INKEY$="F"  THEN  LET  P=P- 

1 

120  IF  INKEY$="D"  THEN  LET  P=P+ 

1 

130  IF  INKEY$= " J "  THEN  LET  M=M- 

2 

140  IF  M=6 0  THEN  LET  H=H+1 
150  IF  M=6  0  THEN  LET  M=0 
160  'IF  H= 1 3  THEN  LET  H= 1 
1 70  LET  C$=M$ 

180  IF  H= 1 2  AND  M=1  AND  C$="A.M 
.  "  THEN  LET  M$  =  "P.M." 

190  IF  H=12  AND  M=1  AND  C$="P.M 
.  "  THEN  LET  M$  =  "A.M." 


200  PRINT  AT  2 1 , 1 8 ; H ; " . " ;M; "  "  • 

M$  ;  " 

210  PAUSE  P 

220  POKE  16437,255 

230  GOTO  100 

Syntactic  Sum:  30942,  8K 
DEAR  SINCLAIR  RESEARCH 

Here  are  2  sides  of  a  story  we 
hear  occasionally--owners '  problems 
with  the  ZX80 ' s  reliability  and 
technical  support.  This  letter, 
edited  for  space,  was  sent  to 
Sinclair.  The  reply  was  addressed 
to  SYNTAX. --AZ 

It  is  with  great  displeasure 
that  I  am  returning  my  Sinclair 
ZX80 .  I  awaited  the  ZX80 1 s  release 
for  several  years,  confident  that  I 
would  see  another  marvelous  example 
of  the  synthesis  of  economy  and 
power  that  have  been  the  hallmarks 
of  the  Sinclair  name.  I  must  admit 
that  I  have  been  shown  a  computer 
with  tremendous  power  and  poten¬ 
tial.  But  I  have  also  been  sub¬ 
jected  to  shoddy  quality  control 
and  indifferent  customer  support. 

Since  I  received  my  ZX80  in 
April,  I  have  returned  it  twice  for 
replacement  (apparently  Sinclair 
does  not  think  it  is  worth  repair¬ 
ing)  >  had  my  16 K  RAM  module  fail 
twice,  and  had  fatal  errors  in  the 
8K  BASIC  B£)M.  The  hardware  fail¬ 
ures  were  the  direct  result  of 
being  penny  wise  and  pound  foolish. 

I  called  Sinclair  on  numerous  occa¬ 
sions  and  wrote  twelve  letters.  My 
phone  calls  were  futile.  Sinclair 
answered  3  of  my  letters .  The 
replies  only  proved  my  letters  were 
not  read.  This  disease- - indiffer- 
ence- -is  destroying  the  customer 
support  of  many  businesses. 

I  am,  needless  to  say,  bitter 
about  my  experience  with  Sinclair 
Research  and  suggest  that  you  deal 
with  these  problems  if  you  intend 
to  stay  in  the  personal  computer 
field. 


15 


Lew  Merrick,  Lynnwood,  WA 


JRS  SOFTWARE 

19  WAYSIDE  AVENUE,  WORTHING,  SUSSEX,  BN13  3JU 
TELEPHONE  WORTHING  65691  (Evenings  and  Weekends  only) 


ZX80  PROGRAMMABLE  MOVING  DISPLAY 

(4K  ROM  only) 

Yes!  This  really  is  a  genuine  moving  display,  not 
another  pause  routine.  If  you  want  moving,  flicker 
free  displays  I  and  who  doesn't I  then  this  is  the 
program  for  you.  The  secret  lies  in  the  ZX80's  ability 
to  keep  the  display  on  your  screen  without  the  need 
to  use  all  of  the  time  available  to  it.  Normally  the 
ZX80  would  be  doing  nothing  during  this  spare  time 
but  the  programmable  moving  display  cleverly 
interupts  to  process  your  own  instructions  written  in  the  simple  but  highly 
effective  JRS  numeric  code.  Great  care  has  been  taken  so  that  the  processing  of 
your  codes  can  always  be  interupted  to  return  to  the  display  routine  at  the 
precise  microsecond  that  is  required  to  ensure  that  your  T  V.  picture  remains 
completely  rock-steady. 

Normally  a  true  moving  display  on  a  ZX80  would  take  weeks  to  write  and  you 
would  need  to  be  an  expert  at  machine-code  programming.  Now,  at  last,  this 
program  offers  you  the  ability  to  write  your  own  true  moving  displays  in  under  an 
hour  with  no  machine-code  experience  required  whatsoever. 

Cassette  with  Ik,  2k  versions  and  3  example  programs  plus  FULL  documentation 

£4.95 

*  Awarded  top  place  in  ZX80  software  review  *  in  YOUR  COMPUTER' 

October  1981  issue 


NEW  -  An  ESSENTIAL  addition  to  your  IK  RAM  ZX81  (or  ZX80  8K  ROM) 

afrMHOa  (written  by  PAUL  HOLMES) 

Provides  the  following  additional  facilities : - 

Line  renumber  —  you  state  starting  number  and  increment  value. 

Search  and  replace  —  changes  every  occurence  of  a  character  as  you  require. 
Free  space  —tells  you  how  many  free  bytes  you  have  left 

SPECIAL  GRAPHICS  ROUTINES 

Hyper  graphics  mode  —  graphics  never  seen  on  a  ZX81  before. 

Open  —  instantly  sets  up  as  many  empty  print  lines  as  you  require. 

Fill  —  used  in  conjunction  with  OPEN  fills  your  screen  instantly  with  your 
specified  character 

Reverse  —  changes  each  character  on  your  screen  to  its  inverse  video. 

TAPE  ROUTINE  -  provides  a  system  WAIT  condition  until  a  signal  is  received  in 
the  cassette  ear  jack  —  many  uses  ! 

All  these  routines  are  written  in  machine  code  and  together  take  up  only 
164  BYTES  of  your  precious  RAM  -  an  incredible  achievement!! 

The  price  is  incredible  too!  ONLY  £3.96  for  cassette,  including  FULL  instructions 
and  example  programs. 

ALSO  available  16K  version  ONLY  £4.95  which  includes  all  the  above  PLUS: 
GOTO's  and  GOSUB's  included  in  line  renumber. 

Search  for  and  list  every  line  containing  specified  character. 


ZX81  2K  programs  SLALOM  and  BLACK  HOLES  now  available  as  listings  only  £1.25  each,  £2  for  both. 


OVERSEAS  CUSTOMERS  Payment  must  be  made  in  Sterling  by  International  Money  Order  (available 
PLEASE  NOTE  at  your  hank)  Please  add  50  pence  to  cover  overseas  postage. 


Nigel  Searle  of  Sinclair  replies : 

Mr.  Merrick  did  not  get  an 
individual  reply  to  a  letter 
requesting  technical  information. 

It  is  unfortunately  the  case  that 
when  we  sell  a  product  for  as 
little  as  $100  that  we  are  unable 
to  offer  a  great  deal  of  technical 
support.  We  give  a  very  substan¬ 
tial  amount  of  information  in  our 
advertisements  and  are  content  for 
people  to  make  up  their  minds  based 
on  that  information  whether  to 
purchase  our  product  or  not.  The 
computers  come  with  a  substantial 
operating  manual  and  mail  order 
customers  may  return  the  unit  and 
receive  a  full  refund  if  they  are 
dissatisfied  with  the  documentation 
provided  or  for  any  other  reason. 

If  we  answered  specifically 
all  individual  questions  we  receive 
by  telephone  and  letter  from  owners 
of  our  computers,  we  would  certain¬ 
ly  either  go  out  of  business  or 
have  to  raise  our  prices  very 

16 


substantially.  I  believe  we  have 
the  right  to  determine  the  level  of 
technical  support  we  are  willing  to 
give  our  product.  We  do  fully 
accept  the  obligation  to  live  up  to 
any  promises  in  our  advertising 
about  our  money-back  offer  to  mail 
order  customers  and  our  90-day 
repair  or  replacement  policy. 

Mr.  Merrick  says  his  8K  ROM 
contains  faults  and  we  told  him 
nothing  about  how  we  are  going  to 
fix  it.  You  know  that  this  is  not 
true.  We  have  made  perfectly  clear 
to  anyone  who  has  asked  that  we 
will  replace  faulty  8K  ROMs  at  no 
charge . 

Mr.  Merrick  complains  that  his 
ZX80  and  16K  RAM  have  had  to  be 
replaced  a  total  of  3  times  between 
them.  He  remarks  that  his  ZX80  was 
replaced  with  a  new  unit  when  it 
was  returned.  Obviously,  if  we  had 
to  replace  every  ZX80  owner's 
computer  with  2  new  computers,  we 
would  not  stay  in  business  very 
long.  We  have  sold  almost  50,000 
computers  in  the  United  States 
alone.  Even  assuming  that  only  270 
of  our  computer  fail  in  use,  simple 
mathematics  tell  us  that  there  are 
regrettably  no  fewer  than  20  people 
who  have  had  to  be  sent  2  replace¬ 
ments  for  their  original  machine. 
Obviously  this  is  of  little  conso¬ 
lation  to  those  affected,  but  is 
the  inevitable  result  of  large  unit 
sales  and  a  rton-zero  failure  rate. 

Nigel  Searle,  Sinclair  Research 
IMPROVED  4K  SINE  CALCULATION 

Use  these  lines  in  4K  programs 
requiring  sines  between  0  and  90 
degrees.  X  is  the  angle;  S  is  its 
sine.  This  equation  produces  error 
less  than  2E-03. 

LET  S=(179*X- (  ( (  ( 25 1 *X) / 1  0 0 ) *X) 
/10)  -  (  (  (  (  (  (56*X)/20) *X)/100) *X)/ 

5)  )  /  1  0 

IF  X>  3t  AND  X<6  5  THEN  LET  S-S  +  2 

PRINT  "SIN  " ; X ; "  DEG-  ";S;  "  E-03" 


-*f  -3*  ate 


Brian  O'Brien,  Weston,  MA 


4K/1K  REVERSE 


The  object  of  this  game, 
rewritten  from  one  published  by 
Creative  Computing,  is  to  get  the 
numbers  in  ascending  order  from 
left  to  right.  When  the  computer 
asks  for  number  to  reverse,  enter 
how  many  numbers  from  left  to  right 
you  wish  to  reverse.  For  example: 
YOUR  LIST  IS  NOW: 

234516789 
Reversing  4  numbers  gives  you: 

543216789 
Now  reversing  5  numbers  will  win: 
123456789 

Line  30  sets  N=9 .  The 
computer  accepts  only  numbers 
between  0  and  N.  To  change  the 
length  of  the  list,  change  N  in¬ 
line  30.  If  you  enter  0  the 
computer  sets  up  a  new  list  (line 
250) .  You  can  change  line  250  to 
250  IF  R=0  THEN  STOP  so  entering  0 
ends  the  program. 

Bill  Eckel,  Omaha,  NE 

30  LET  N=9 
40  DIM  A (N) 

50  LET  T=0 

100  LET  A ( 1 ) =RND (N— 1 ) +1 
1 1 0  FOR  K=2  TO  N 
120  LET  A (K) =RND (N) 

1 30  FOR  J=1  TO  K-1 

140  IF  A(K)=A(J)  THEN  GO  TO  120 

150  NEXT  J 

160  NEXT  K 

210  GO  SUB  600 

220  PRINT 

230  PRINT  "NO.  TO  REVERSE" 

240  INPUT  R 

250  IF  R= 0  THEN  GO  TO  50 

260  IF  R=N  OR  R<N  THEN  GO  TO  30 

0 

265  PRINT 

270  PRINT  "OOPS  TOO  MANY" 

280  GO  TO  240 
300  LET  T=T+ 1 
310  FOR  K=1  TO  R/2 
320  LET  Z=A(K) 

330  LET  A ( K) =A ( R~K+ 1 ) 

340  LET  A(R-K+1)=Z 
350  NEXT  K 
360  GO  SUB  600 


400  FOR  K=1  TO  N 

410  IF  NOT  A(K)=K  THEN  GO  TO  22 

0 

420  NEXT  K 
500  PRINT 
505  PRINT 

510  PRINT  "YOU  WON  IN  ";T;"  MOV 
ES" 

520  PRINT 

5  30  PRINT  "TRY  AGAIN?  (Y  OR  N)  " 

540  INPUT  A$ 

550  IF  A$="Y"  THEN  GO  TO  50 

555  PRINT 

560  PRINT 

565  PRINT 

568  PRINT 

570  PRINT  , "OK  HOPE  YOU  HAD  FUN 

580  STOP 
600  CLS 
605  PRINT 

610  PRINT  , "REVERSE" 

620  PRINT 
630  PRINT 

640  PRINT  "YOUR  LIST  IS  NOW:" 

650  PRINT 
660  PRINT 
670  FOR  K=1  TO  N 
680  PRINT  "  " ; A ( K ) ; 

690  NEXT  K 
700  PRINT 
705  PRINT 
710  RETURN 

Syntactic  Sum:  -1  3568,-  4K 

CHANGES  TO  RUN  REVERSE  ON  8K  ROM 

Reverse  will  not  fit  in  IK  RAM 
on  an  8K  machine.  With  larger  RAM 
sizes,  change  these  lines: 

100  LET  A ( 1 ) =INT  (RND*10) 

120  LET  A ( K) =INT  (RND*10) 

260  IF  R<=N  THEN  GOTO  300 
310  FOR  K=1  TO  INT  R/2 
You  can  also  change  the  many  empty 
PRINT  lines  (used  in  4K  machines  to 
arrange  the  display)  to  fewer  PRINT 
AT  statements.  To  avoid  getting  0 
in  your  list,  add: 

105  J.F  A  (  1 )  =0  THEN  GOTO  100 
125  IF  A ( K ) =  0  THEN  GOTO  120 
To  run  in  8K  with  only  IK  of  RAM, 
try  deleting  the  empty  PRINT 
statements  and  "user-friendly" 
lines  (like  520-570) . --AZ 
17 


BEGINNERS’  COLUMN:  REM  REVISITED 

In  January  we  saw  that  REM 
statements  in  BASIC  are  used  to 
insert  comments,  or  REMarks  for  the 
programmer's  benefit.  The  computer 
ignores  anything  in  a  REM  statement 
when  running  the  program. 

Why,  then,  do  some  BASIC  pro¬ 
grams  contain  a  REM  statement  at 
the  beginning  followed  by  garbage? 
This  REM  statement  differs  from  one 
holding  remarks;  it  holds  machine 
language  (ML)  in  a  BASIC  program. 
This  method  allows  you  to  save  and 
load  ML  programs.  When  you  see  a 
REM  statement  at  the  beginning  of  a 
BASIC  program  with  nonsense  after 
it,  it's  part  of  a  ML  program. 

As  we  saw  in  the  Jun.81  column 
on  PEEK  and  POKE  commands ,  you  can 
direct  the  computer  to  put  a  number 
at  a  specified  address,  or  RAM 


location.  (RAM  is  random-access 
memory,  or  where  the  computer 
stores  what  you  type  in.) 

ML  programmers  POKE  machine 
code  into  REM  statements.  This  way 
they  can  use  a  single  line  rather 
than  separate  POKE  lines.  You  can 
POKE  the  numbers  that  comprise  a  ML 
program  (see  Beginners'  Loading  ML 
Programs,  Aug. 81).  A  USR  call  (a 
line  using  the  BASIC  command  USR) 
tells  the  computer  to  go  to  the 
specified  address  and  execute  what 
it  finds  there.  The  ML  programmer 
knows  the  location  of  the  ML  pro¬ 
gram  and  uses  the  USR  call  to  send 
the  computer  there.  Here's  how  to 
figure  out  the  first  address: 

All  BASIC  programs  start  at  a 
fixed  address- - 16424  in  a  4K  ROM 
ZX80  (p.123  of  ZX80  manual)  and 
16509  in  an  8K  ROM  machine  (p.171 
of  Sinclair  8K  manual) .  Each  line 


THE  ZX80  BOOKSHELF  LIBRARY  OF  CASSETTES 


This  attractive  bookshelf  folder  (blue  vinyl  exterior,  black  interior) 
contains  a  library  of  six  Lamo-Lem  4K  ROM  cassettes,  each  held 
firmly  within  a  slot  in  the  folder.  Cassettes  snap  in  and  out  with  fin- 
ger  pressure.  The  9%  by  9V4  by  3/4*’folder  stores  your  library  of 
cassettes  easily  and  compactly  on  a  bookshelf.  It  includes  the  fol¬ 
lowing  cassette  packages: 


THE  ZX80  HOME  COMPUTER 

Etch-A-Screen 
Electronic  Billboard 
Composer 
Calculator 

Checkbook  Balancer 

THE  CHEST  OF  CLASSICS 

Lunar  Lander 

K-Trek 

Life 

Mindmaster 

ANIGHT  IN  LAS  VEGAS 

Blackjack 

Roulette 

Craps 

Slot  machine 


THE  ZX80  BOOKSHELF  CASSETTE  LIBRARY  —  Six  cassettes  of 
computer  programs  in  a  bookshelf  folder  with  dozens  of  manuals, 
reference  cards  ,  and  full-color  keyboard  over^ys.  Also,  many  addi¬ 
tional  sheets,  forms,  and  accessories,  including  a  pad  of  coding 
sheets.  For  all  4K  ROM  ZX80  and  MicroAce  computers . 


THE  ZX80  BUSINESS  PACKAGE 

Search  &  Save 

VideoComp-4 

VideoGraph 

ZX80  IK  DISASSEMBLER 

Disassembler  Program 
Memory  Test 


SUPER Z 

(Adds  7  new  BASIC  statements) 
The  Super  Z  Program 
A  Super  Z  Module 
A  Super  Z  Demonstration 


$59.95 

postpaid. 


LAMO-LEM  LABS,  CODE  Ill,  BOX  2382,  LA  JOLLA,  CA  92038 


18 


number,  regardless  of  the  number  of 
digits,  uses  2  bytes  in  the  4K 
machine  and  4  bytes  in  the  8K 
machine.  Each  byte  occupies  1 
memory  location. 

Each  keystroke  after  the  line 
number  uses  exactly  1  byte.  So  REM 
is  stored  in  address  16426  when  it 
is  the  first  word  of  the  first  line 
of  a  4K  machine  and  16513  on  an  8K 
machine.  The  first  ML  command  will 
be  in  the  byte  after  REM. 


OUR  POLICY  ON  CONTRIBUTED  MATERIAL 

SYNTAX  ZX80  invites  you  to  express  opinions  related  to  the  ZX80  and  the 
newsletter.  We  will  print,  as  space  allows,  letters  discussing  items  of  general  interest. 
Of  course,  we  reserve  the  right  to  edit  letters  to  a  suitable  length  and  to  refuse 
publication  of  any  material. 

We  welcome  program  listings  for  all  levels  of  expertise.  Programs  can  be  for 
any  fun  or  useful  purpose.  We  will  test  run  each  one  before  publishing  it,  but  we 
will  not  debug  programs;  please  send  only  workable  listings. 

In  return  for  your  listing,  we  will  pay  you  a  token  fee  of  $2.00  per  program  we 
use.  This  payment  gives  us  the  nonexclusive  right  to  use  that  program  in  any  form, 
world-wide.  This  means  you  can  still  use  it,  sell  it,  or  give  it  away,  and  so  can  we. 

We  will  consider  submissions  of  news  and  hardware  or  software  reviews.  Please 
keep  articles  short  (350-400  words).  Again,  we  reserve  the  right  to  edit  accepted 
articles  to  a  suitable  length.  We  will  pay  7  cents  per  6  characters,  including  spaces 
and  punctuation,  for  accepted  articles. 

When  you  send  in  programs  for  possible  publication  in  SYNTAX,  please 
include  the  following  information: 

•  How  to  operate  the  program,  including  what  to  input  if  it  does  not  contain 
prompts. 

•  Whether  you  can  run  the  program  over  again  and  how. 

•  How  to  exit  the  program. 

•  The  Syntactic  Sum  (using  the  Syntactic  Sum  program  in  the  February,  1981, 
issue). 

•  Whether  it  fits  in  IK  or  2K  RAM  (or  16K  when  available). 

•  Whether  it  uses  the  4K  or  8K  ROM. 

We  pay  for  this  explanatory  text  at  the  same  rate  as  for  articles  in  addition  to 
payment  for  the  program  itself. 

If  you  want  us  to  return  your  original  program  listing  or  article,  please  include 
a  self-addressed,  stamped  envelope.  Otherwise,  we  cannot  return  submitted  material. 


CLASSIFIED  ADS 


Got  something  to  sell  or  swap?  Or 
are  you  looking  for  something 
special?  Use  SYNTAX  classifieds. 
Reach  thousands  of  other  readers 
for  just  $2.75  per  line  (4  line 
min.).  Send  your  ad,  typed  35 
characters  per  line,  with  payment 
by  15th  of  any  month  for  next 
month’s  issue  to  Classified  Ads, 
SYNTAX,  RD  2  Box  457  Bolton  Rd, 
Harvard,  MA,  01451. 

D<$cD  fans  will  love  Solo  Dungeons  on 
IK  ZX80.  For  tape  and  instructions 
send  $5.50  to:  The  Hafling  Box  454 
Hallsville  Texas  75650  2-3wks  delv. 

For  Sale:  ZX-80  (4K  ROM  IK  RAM) 
Learning  Lab  book  and  tapes  and 
back  issuer  of  SYNC  and  SYNTAX. 

All  for  $175.  Call  A1 , 201-666-3632 . 

7  QUALITY  GAMES  ON  CASSETTE- -$8 . 95 
Mastermind  (Play  any  difficulty  up 
to  6  out  of  9),  Doublemind,  Slot 
Machine,  Craps,  Tic  Tac  Toe  (Chal¬ 
lenge  the  computer),  Sub  Rescue, 
White  Hot  Number  (Pit  your  score 
against  the  computer's).  All  run 
in  4K  ROM/ IK  RAM.  NEW  ENGLAND  SOFT¬ 
WARE,  Box  691,  Hyannis ,  MA  02601. 


SYNTAX  ZX80  is  published 

monthly  by  a  wholly-owned 
subsidiary  of  The  Harvard  Group. 

Syntax  ZX80,  Inc. 

RD  2,  Box  457,  Harvard,  MA  01451. 
Telephone  617/456-3661. 

12  issues,  $29.  Single  issue,  $4. 

Publisher:  Kirtland  H.  Olson 
Editor:  Ann  L.  Zevnik 

Printed  by  Joseph  E.  Marhefka,  Jr. 

Clinton  Offset  Printers 
Clinton,  MA  01510 

©  Syntax  ZX80,  Inc.,  1981.  All 
rights  reserved.  Photocopying 
prohibited.  ISSN  0273-2696 


YES!  Please  send  me  12  issues  of  SYNTAX  for  $29. 

□  My  check  for  $29  is  enclosed.  □  Please  charge  my  □  MasterCard 
Make  checks  payable  to:  □  VISA  □  American  Express 

SYNTAX  ZX80,  INC.  □  Diner’s  Club  account. 

account  number _  _ 

exp.  date _ bank  number  (MC  only) _ 

signature _ 

Name _ Title _ 

Organization  _ _ _ 

Address _ 

City _ State _ _Zip 

Day  Phone_( _ } _ Evening  Phone  1  ) 

ZX81-1 

I  own  a  □  Sinclair  ZX80  □  Sinclair  ZX81  Telephone  orders  call 

□  Micro  Ace  computer.  617-456-3661 


19 


Programs -games  &  utility.  Also 
tech  data,  mods,  plans,  info, etc. 
Send  SASE  for  free  goodies  list 
P.0.  Box  3073  San  Jose,  CA  95156 

ZX80/81  "Record"--at  last  a  tape 
record  system!  Save,  load  or  enter 
new  96  byte  records.  Ideal  for 
addresses,  etc.  Listing  for  all  IK 
machines  (4K/8K  ROM)  $7. 
"Directory"- -a  simple  program  to 
read  tapes  and  display  program 
names.  Listing  (8K  ROM)  $5.  Logan 
Software,  24  Nurses  Ln,  Skelling- 
thorpe,  Lincoln,  LN6  OTT,  UK 

From  the  SYNTAX  bookshelf:  Crash 
Course  in  Microcomputers,  $17.50 
plus  $1.50  shipping.  Zilog  Z80-Z80A 
CPU  Technical  Manual,  $7.50,  Z80- 
Assembly  Language  Programming 
Manual,  $15  (add  57>  for  postage  and 
handling).  Sinclair's  4K  ROM 
listing  with  original  designer's 
comments,  $40  inc.  shipping. 

SYNTAX  Vol .  1  (Nov/Dec. 80)  $5. 

Other  back  issues,  $4  each.  Send 
check  or  credit  card  no.  to  SYNTAX, 
RD  2  Box  457,  Bolton  Rd. ,  Harvard, 
MA,  01451  or  call  617/456-3661. 

ZX80 ,  SYNC  +  SYNTAX,  back  issues, 
Learn  Lab  Books,  Tapes.  Used  5 
mins.  Novice  too  confused.  $160. 
John  C/Gail  503/469-5331  days. 


H\RV\RD 

GROLP 


Bolton  Road,  Harvard,  Mass.  01451 


Games  for  the  ZX80  -  16K  RAM/4K  ROM 
ZX80-Trek  --  5  levels  of  difficulty 
with  20  battle  command  options. 
Cribbage  --  play  cribbage  with  the 
ZX80  as  your  challenging  opponent. 
Tank  Battle  --  destroy  the  ZX80 ' s 
tank  before  it  destroys  yours. 

Ins tructions+lis ting-  $9.95  ea  game 
Above  +  on  cassette-  $14.95  ea  game 
A.Nisbet,  6  Moffatt  Court,  Rexdale, 
Ontario,  Canada,  M9V  4E1. 

Sinclair  still  has  some  used  ZX80s 
available  for  $49.95.  These  units 
are  sold  "as  is".  You  get  a  com¬ 
plete  (but  not  necessarily  working) 
ZX80  with  case  and  instruction 
manual.  At  least  the  major  ICs  will 
be  socketed.  If  you  need  an  extra 
computer  for  spare  parts  or  just 
want  to  tinker  with  one,  send  your 
order- -with  check  or  money  order 
only--to  Sinclair  Research  Ltd. ,  50 

Staniford  St.,  Boston,  MA,  02114. 

« 

FOR  SALE:  ZX80  (8K  ROM/ IK  RAM) 

Super  ZX80  Invasion  Game  &  4K  ROM, 
Sinclair  Manual,  all  for  only  $110 
Call  Joe  201-772-0976  after  7pm. 

ZX80  and  MicroAce  users  often  call 
us  looking  for  users'  groups  in 
their  areas.  Send  us  information 
about  your  users'  group  and  we'll 
make  your  whereabouts  known. 


First  Class